Configuration of high capacity disk drives with embedded ibm pc-at type computer

ABSTRACT

A method and apparatus are used to adapt a disk drive accessing system to access a maximum storage capacity of at least one disk drive. A Basic Input/Output System (BIOS) memory extension is carried by an adapter. The disk drive to be accessed is identified and address parameters for the disk drive are determined based on instructions in the BIOS extension. The address parameters correspond to the maximum storage capacity of the disk drive. The address parameters are determined by the disk drive accessing system and are suitable for being used by the accessing system in accessing the maximum storage capacity of the disk drive. The disk drive is then configured for being accessed using the address parameters.

BACKGROUND OF THE INVENTION

The present invention relates to hard disk storage systems. Moreparticularly, the present invention relates to configuration of highcapacity disk drives for being accessed.

Hard disk data storage systems contain one or more magnetic disks onwhich data is stored in sectors which lie in concentric tracks on thedisks. A transducer (or head) flies above a track and writes, ormagnetically encodes, the data in a sector on the track. The head isalso capable of reading the magnetically encoded data from the sectors.

An electromechanical actuator operates within a negative feedback,closed-loop servo system. The actuator moves the head radially for trackseek operations and holds the transducer directly over a track for trackfollowing operations.

Typically, a stack of disks is mounted on a spindle. Each surface oneach magnetic disk has one corresponding head. All heads are movedtogether by the electromechanical actuator to different tracks on thedisk surface. The collection of the tracks under all heads at any givenradial position along the disk stack is known as a cylinder. Data readfrom the sectors by the heads is demodulated in a disk drive interfaceand provided to a host computer.

In the past, serial or classical disk drive interfaces, (such as theESDI or ST506 interfaces) demodulated the data read from the track onthe magnetic disk and provided it in serial form. An additionalcomponent, known as a disk drive controller, checked the integrity ofthe data provided by the serial disk drive interface and converted theserial flow of data into a parallel flow. The parallel information wasthen provided by the disk drive controller to a host computer.

More recently, disk drive interfaces have been designed with moreintelligence than the classical or serial disk drive interfaces.Examples of such intelligent disk drive interfaces are the SCSI and PCAT(which was based on the PC-AT computer design) interfaces. Functionally,these intelligent interfaces and the disk drive controller have becomepart of the disk drive and provide parallel data to the host computer.

These intelligent interfaces have typically been coupled to the hostcomputer at an input/output (I/O) slot. The I/O slot has, in the past,included a connector, coupled to the host computer, which ranged in sizefrom 62 pins to 98 pins. An edge connector, coupled to the intelligentdisk drive, having either 62 or 98 pins depending on the connectorcoupled to the host computer, was plugged into the I/O connector of thehost computer.

However, continuing efforts to reduce size of both computers and diskdrives has led to the development of disk drives which have only a 40pin connector. In order to make these disk drives compatible with hostcomputers that still have the 62 or 98 pin I/O connectors, an adaptorboard has been developed which plugs into the I/O connector and convertsthe host computer system bus for compatibility with the 40 pin interfaceused by the disk drive. Also, a typical adapter board supports up to twodisk drives connected in a master/slave configuration.

Most PC-AT type host computers are programmed to operate with a numberof specific disk drive types. The PC-AT type host computer contains atable of disk drive types which correspond to the drive types with whichthe host computer will operate. That table contains the number ofcylinders, heads and sectors per track for each drive type entered inthe table. This table is fixed in the Basic Input/Output System (BIOS)ROM located in the host computer.

A power-up program which is also stored in the BIOS ROM provides thedisk drive controller with the disk drive parameters, from the table,which correspond to the drive type with which the host computer isprogrammed to operate The disk drive controller then configures itselfto match the table entry corresponding to the disk drive parametersprovided by the power-up program.

However, all disk drive types included in the table in the IBM PC-ATcomputer use a sector number of 17 sectors per track. This fixed tableimposes a limitation on the maximum disk drive capacity that the hostcomputer can access. In other words, if the host computer cannot commanda disk drive to configure itself for more than 17 sectors per trackbecause of the fixed table in BIOS ROM, the computer is unable to accessthe maximum capacity of some high capacity disk drives which areinstalled for operation with the host computer. This is an increasingproblem with the advances currently being made in enlarging diskcapacity.

The computer typically addresses the disk drive through BIOS calls.Presently, typical BIOS programs allow up to 1024 cylinders, 16 headsand 64 sectors per track to be addressed. Hence, the maximum disk drivecapacity addressable by BIOS is 1,048,576 blocks (536,870,912 bytes).But, if the computer cannot address more than 17 sectors per trackbecause of the fixed list in BIOS, the addressable disk drive capacityis cut down to 278,528 blocks (142,606,336 bytes).

SUMMARY OF THE INVENTION

The present invention takes advantage of a built-in feature in a BIOSpower-up program which orders a host computer to search for and executeBIOS extensions during a power-up sequence. By taking advantage of thisbuilt-in feature, the present invention adapts a disk drive accessingsystem for accessing a storage capacity on at least one disk drive.

A BIOS extension is provided. During execution of the BIOS extension,the disk drive to be accessed is identified and address parameters forthe disk drive are determined. The address parameters are provided tothe disk drive accessing system and are suitable for being used by theaccessing system in accessing the storage capacity of the disk drive.The disk drive is then configured for being accessed using the addressparameters.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a data storage system.

FIG. 2 is a top view of a disk in the data storage system shown in FIG.1.

FIG. 3A is a more detailed block diagram of the host computer 12 andadaptor 13 of the prior art.

FIG. 3B is a more detailed block diagram of host computer 12 withadapter 13 of the present invention.

FIG. 4 is a block diagram of an alternative embodiment of a data storagesystem of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1 is a block diagram of hard disk data storage system 10 whichincludes host computer 12, adapter 13 and disk drive 14. Disk drive 14includes drive controller 16, conditioning logic 18, rotary actuator 20,transducers or read/write heads 22, 24, 26, 28, 30, 32, 34, 36, 38 and40 (heads 22-40), magnetic disks 42, 44, 46, 48 and 50 (disks 42-50) andspindle 52. During operation of disk drive 14, disks 42-50 spin Withspindle 52. Heads 22-40 fly above disks 42-50 either readingmagnetically encoded data from the surfaces of disks 42-50 or encoding(writing) information on the disk surfaces. While reading information,heads 22-40 produce signals representative of the data on the disksurfaces and provide those signals to conditioning logic 18.Conditioning logic 18 conditions the signals and provides them in serialform to drive controller 16. This flow of information from heads 22-40to drive controller 16 is indicated by arrows 54 and 56.

Drive controller 16, in turn, converts the serial data received fromconditioning logic 18 into parallel data and provides it to adapter 13.Adapter 13 adapts the information received from drive controller 16 forcompatibility with a data bus in host computer 12. Host computer 12 alsoprovides adapter 13 with control information for disk drive 14. Adapter13 adapts the information received from host computer 12 forcompatibility with drive controller 16. Based on that controlinformation and position error information read from disks 22-40, drivecontroller 16 provides control signals to conditioning logic 18 andactuator 20. This is indicated by arrows 58 and 60.

The control signals provided by drive controller 16 to conditioninglogic 18 dictate, for example, which head should be demodulated byconditioning logic 18 and provided to drive controller 16. The controlsignals provided to actuator 20 cause actuator 20 to rotate. Rotation ofactuator 20 causes heads 22-40 to move radially with respect to disks42-50.

FIG. 2 shows a typical disk surface. The surface of disk 42 contains aplurality of tracks. For clarity, only two tracks, 62 and 64 are shownin FIG. 2. Each track on the surface of disk 42 is divided into sectors.The sector divisions on track 62 are indicated by the radially orientedcross-hatched lines 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95,97, 99 and 101. Head 22 is shown positioned over sector 68 of track 62on disk 42. As disk 42 rotates in the direction indicated by arrow 66,head 22 flies above track 62 and data is read from or written to track62.

As actuator 20 rotates and moves heads 22-40, head 22 moves radiallywith respect to disk 42 along an arc indicated by arrow 70. All headsare moved together as actuator 20 rotates. Therefore, heads 22-40 aresimultaneously moved over corresponding tracks on each disk as actuator20 rotates. The collection of tracks under heads 22-40 at a given radialposition is known as a cylinder. Therefore, the number of cylinders andthe number of tracks per surface on disks 42-50 is the same. Also, thenumber of tracks per cylinder is the same as the number of heads 22-40in disk drive 14.

An individual data sector on one of disks 42-50 is addressed by itscylinder address, head address and sector number. The term "address"implies a number in a sequence starting with 0. The term "number"implies a number in a sequence starting with 1. For example, the firstsector available in disk drive 14 is addressed as cylinder 0, head 0 andsector 1. Hence, when host computer 12 accesses a particular sector orsectors on one of disks 42-50, it specifies to drive controller 16 therequested sector number, head address and cylinder address. Drivecontroller 16, in turn, causes actuator 20 to move heads 22-40 to thecorrect cylinder. Drive controller 16 also controls conditioning logic18 to demodulate information from the correct head.

FIG. 3A is a more detailed block diagram of host computer 12 with anadapter 13 of the prior art. Host computer 12 includes CPU 72, CMOS RAM74, BIOS ROM 76, system RAM 102, and, in this embodiment, 98 pin I/Oconnector 78. Adapter 13 includes 98 pin edge connector 80, decodinglogic 82 and 40 pin connector 86. Decoding logic 82 adapts informationsent by either CPU 72 or drive controller 16 for compatibility with the98 pin data bus configuration of host computer 12, or the 40 pin databus configuration of drive controller 16, respectively.

In this preferred embodiment, host computer 12 is a typical PC-AT typecomputer. Therefore, it contains a table of disk drive types which isfixed in BIOS ROM 76. The table defines the number of cylinders, headsand sectors per track for each drive type in the table. During power-up,CPU 72 accesses BIOS ROM 76 for power-up instructions. A BIOS power-upprogram causes CPU 72 to retrieve a drive type from CMOS RAM 74 whichallows CPU 72 to retrieve the appropriate drive parameters from BIOS ROM76. The location of the drive parameter table in BIOS ROM 76 is thenstored by CPU 72 in the system RAM 102. The location of the table isthen available to CPU 72 from system RAM 102 for as long as the computerremains powered. The drive parameters in BIOS ROM 76 corresponding tothe drive type stored in CMOS RAM 74, themselves, correspond to thedrive type which host computer 12 expects to be installed. Then, beforeaccessing disk drive 14, CPU 72 retrieves the address parameters storedin BIOS ROM 76 at the location indicated in BIOS RAM 102 and sends them,via adapter 13, to drive controller 16. Drive controller 16 thenconfigures disk drive 14 for being accessed according to the driveparameters sent by CPU 72.

However, where the actual physical storage capacity of disk drive 14 isgreater than any of the disk drive types present in the table in BIOSROM 76, host computer 12 is incapable of accessing the entire physicalstorage capacity of disk drive 14. Hence, some of the physical storagecapacity of disk drive 14 is wasted.

FIG. 3B is a block diagram of host computer 12 and adapter 13 of thepresent invention. The components of FIG. 3B are the same as those shownin FIG. 3A except that BIOS extension 84 is added to adapter 13.

When CPU 72 accesses BIOS ROM 76 during the power-up program, one of theoperations in the power-up sequence is that CPU 72, after executing BIOSROM 76, looks for any BIOS extensions which are to be accessed andexecuted during power-up. Upon looking for a BIOS extension, CPU 72locates BIOS extension 84.

In this preferred embodiment, BIOS extension 84 is a programmable readonly memory (PROM) containing several instructions. First, BIOSextension 84 instructs CPU 72 to interrogate disk drive 14 and identifyits actual type (i.e., its actual physical configuration). This can bedone either be retrieving a model number from drive controller 16 or byretrieving the actual physical capacity of disk drive 14. Then, CPU 72is instructed to determine address parameters, such as the number ofcylinders, the number of heads and the number of sectors per track fordisk drive 14. CPU 72 sends this information to drive controller 16which, in turn, configures disk drive 14 for being accessed.

Also, BIOS extension 84 instructs CPU 72 to store the location of thedrive parameters for the identified drive which are tabulated and storedin BIOS extension 84 into system RAM 102. Hence, after power-up, andduring operation of data storage system 10, CPU 72 does not need tointerrogate disk drive 14 each time it accesses disk drive 14. Rather,all of the essential address parameters are stored in BIOS extension 84for ready access by CPU 72.

FIG. 4 is a block diagram of another embodiment of the presentinvention. The data storage system shown in FIG. 4 is the same as thatshown in FIG. 1 except that a second disk drive 88 is added to the datastorage system. Disk drives 14 and 88 are coupled in a knownmaster/slave relationship. BIOS extension 84 on adapter 13 operates thesame way as described with reference to FIG. 3B except that it instructsCPU 72 not only to interrogate and determine drive parameters for diskdrive 14 but also to interrogate and determine drive parameters for diskdrive 88. The location of the drive parameters in BIOS extension 84which are appropriate for drive 88 is stored in system RAM 102 as well.

The only additional step which must be taken is that host computer 12must be initialized to recognize the number of drives attached. However,the type of drive attached and its corresponding address parameters areautomatically provided to CPU 72 by instructions in BIOS extension 84.

It should be noted that adapter board 13 is capable of being providedwith hardware jumpers to allow the location of BIOS extension 84 insystem memory to be selectable. This reduces the possibility of conflictwith memory space occupied by other BIOS extensions located on otheradapters 13.

CONCLUSION

The present invention allows the entire physical storage capacity ofeven high capacity disk drives to be utilized by a host computer. Byusing a BIOS extension to accomplish this, the high capacity disk drivesused are automatically integrated into an existing computer system. Thiseliminates rewriting the BIOS stored in BIOS ROM 76 and thereby possiblycreating other problems in the operating system of host computer 12.

Also, by mounting BIOS extension 84 on adapter 13, hardware need not beadded to mother boards in host computer 12. This eliminates any redesignor relayout of the hardware in host computer 12.

In addition, many customers who contemplate buying high capacity diskdrives require that they have a chance to evaluate the disk drivesbefore purchasing them. With the present invention, adapter 13 can becoupled to any high capacity disk drive and the disk drive can beevaluated with no change whatsoever to the potential customer's system.

Also, the present invention allows future disk drive designs, with evenlarger capacities, to be automatically integrated with existing hostcomputer systems. No additional programming is required of the BIOS inBIOS ROM 76 or that in BIOS extension 84. This allows the full capacityof these disk drives to be used even in systems which lack appropriatedrive type tables in BIOS ROM 76.

Although the present invention has been described with reference topreferred embodiments, workers skilled in the art will recognize thatchanges may be made in form and detail without departing from the spiritand scope of the invention.

What is claimed is:
 1. An apparatus for accessing address locations on adisk drive to retrieve data from the disk drive and to write data to thedisk drive, the apparatus comprising:a system controller having a basicinput/output system (BIOS) memory device containing a BIOS program andan address parameter table corresponding to a predetermined disk drivetype, the system controller accessing the address locations on the diskdrive based on address parameters in the address parameter table, theaddress parameters including a cylinder address, a head address and asector number corresponding to the predetermined disk drive type; anadapter coupling the system controller to the disk drive; and aninstruction device, physically supported by the adapter, containinginstructions instructing the system controller to identify the diskdrive type, upon being accessed by the system controller, theinstruction device further containing instructions instructing thesystem controller to revise the address parameter table, used by thesystem controller for accessing the address locations on the disk drive,to correspond to the disk drive type identified without substantiallyrewriting the BIOS program contained in the BIOS memory device bydetermining the address parameters directly without reference to theaddress parameter table.
 2. The apparatus of claim 1 wherein the revisedaddress parameter table contains revised address parameters to enablethe system controller to access substantially all of the addresslocations on the disk drive.
 3. The apparatus of claim 1 wherein therevised address parameter table is utilized by the system controller inaccessing address locations on the disk drive during operation of thesystem controller.
 4. The apparatus of claim 3 wherein the systemcontroller operates in conjunction with disk drive configuring means forconfiguring the disk drive based on the revised address parameter tableso substantially all the address locations on the identified disk driveare accessible by the system controller.
 5. The apparatus of claim 4wherein the BIOS memory device includes a power-up routine and whereinthe instruction device physically supported by the adapter containsinstructions instructing the system controller, upon being accessed bythe system controller, to identify the disk drive and determine therevised address parameter table during execution of the power-uproutine.
 6. The apparatus of claim 5 wherein the instruction device is amemory device configured as a BIOS extension.
 7. The apparatus of claim6 wherein the adapter includes:means for connecting a plurality of diskdrives to the system controller.
 8. The apparatus of claim 7 wherein thememory device contains instructions instructing the system controller toidentify a drive type for each of the plurality of disk drives, thememory device containing instructions instructing the system controllerto determine a revised address parameter table corresponding to each ofthe plurality of disk drive types identified so substantially all theaddress locations on the plurality of disk drives are accessible by thesystem controller.
 9. In a disk drive accessing system suitable for usewith at least one disk drive having a maximum storage capacity, the diskdrive including a Basic Input/Output System (BIOS) memory devicecontaining a BIOS program, a method of adapting the disk drive accessingsystem for accessing substantially the maximum storage capacity, themethod comprising:accessing a Basic Input/Output System (BIOS) extensionmemory device to retrieve BIOS extension instructions, comprising:identifying the disk drive to be accessed; determining addressparameters for the disk drive identified, the address parametersincluding a cylinder address, a head address, and a sector numbercorresponding to substantially the maximum storage capacity of the diskdrive identified; providing the address parameters to the disk driveaccessing system without rewriting the BIOS program stored in the BIOSmemory device by determining the address parameters without reference tothe address parameter table, the address parameters suitable for beingused by the accessing system in accessing the maximum storage capacityof the disk drive; and configuring the disk drive for being accessedusing the address parameters determined.
 10. The method of claim 9wherein the disk drive accessing system includes a controller foraddressing the disk drive and a basic input/output system (BIOS) memorydevice containing an address parameter table provided to the controllerfor addressing a predetermined drive type, and wherein the step ofproviding the address parameters comprises:revising the addressparameter table based on the address parameters determined for the diskdrive identified.
 11. The method of claim 10 wherein the step ofidentifying the disk drive comprises:interrogating the disk drive basedon the BIOS extension instructions to identify a disk drive type. 12.The method of claim 11 wherein a location of a revised address parametertable is retrieved from the BIOS memory device and written to anoperations memory device, and wherein the step of revising the addressparameter table comprises:replacing the location of the addressparameter table in the operations memory device with the location of therevised address parameters.
 13. The method of claim 12 wherein theaccessing system is coupled to the disk drive by an adapter and whereinthe step of accessing the BIOS extension memory devicecomprises:accessing a BIOS extension memory device physically supportedby the adapter.
 14. The method of claim 13 wherein the steps ofidentifying the disk drive, determining address parameters and providingaddress parameters are all performed during a power-up sequenceinitiated by instructions in the BIOS memory device.
 15. The method ofclaim 9 wherein the disk drive includes a drive controller forcontrolling the disk drive based on address parameters received from theaccessing system, and wherein the step of configuring the disk drivecomprises:providing the drive controller with the address parametersdetermined so the maximum storage capacity is accessible to theaccessing system.
 16. The method of claim 9 wherein the addressparameters include a maximum number of cylinders in the disk drive, amaximum number of heads in the disk drive and a maximum number ofsectors in the disk drive.
 17. The method of claim 9 wherein the diskdrive accessing system is suitable for use with a plurality of diskdrives, each disk drive having a maximum storage capacity, the step ofidentifying comprising:identifying each of the plurality of disk drivesto be accessed.
 18. The method of claim 17 wherein the step ofdetermining address parameters comprises:determining address parametersfor each of the plurality of disk drives.